Rapid Composition of Web Services with JOpera for Eclipse
نویسنده
چکیده
Thanks to the interoperability offered by Web services standards it is now possible to build large scale distributed software systems by composing reusable services published on the Web. In this presentation we will demonstrate how we combined Eclipse’s user experience (background model checking and incremental recompilation) with a simple visual composition language to develop the JOpera for Eclipse plugins [1]. With them, it is not required to work with XML-based languages when composing many kinds of different services because their interactions can be specified by literally drawing them in a data and control flow graph. The visual representation is then directly compiled to Java code in order to be executed efficiently. A visual monitor and debugger are also included, so that it is possible to interactively watch the progress of the composition as it runs at the same level of abstraction and with the same visual syntax used to define it. Web services offer a standards-based approach to address many interoperability issues arising when composing distributed software systems out of reusable services. Thanks to the SOAP protocol and WSDL interface description language, an increasingly large number of basic services are being published on the Internet. Clearly, it becomes important to find the right composition abstractions in order to build value added services out of the aggregation of basic ones. Complementing existing approaches based on the XML syntax (e.g., BPML, WSBPEL) we have designed a visual syntax for a service composition language [2]. Thus, the data exchanges between the services (data flow), their order of invocation and the necessary failure handling behavior (control flow) can be all specified with a simple, graph-based, visual language. As opposed to an XML based approach, a visual language can greatly enhance the understandability of the composite system and provide the foundation for building rapid service composition tools. By reusing the Graphical Editing Framework, our effort to build a visual composition environment was greatly reduced. Furthermore, thanks to the flexibility offered by draw2d, we did not need to significantly alter the visual syntax of the composition language. Among sequential and parallel flows, conditional branches, synchronization points, nesting, recursion, iteration, dynamic late binding, and reflection constructs, a very important feature of the JOpera Visual Composition Language consists of describing how to compose services at the level of abstraction represented by their interfaces. Thus, the description on how to compose the services is kept independent from the actual protocols that are used to perform the actual service invocation. Abstracting the interface of a service from its access mechanism helps to generalize the scope of JOpera for Eclipse beyond the composition of coarse-grained Web services [3]. This way, the developer can freely choose to compose the most appropriate kind of services in terms of runtime performance and convenience of use. In other words, if it becomes necessary to integrate local Java modules into the composition, it should be possible to do so without having to publish such code as a Web service (at design-time) and having to invoke it through the SOAP/XML/HTTP stack at runtime. Moreover, with our approach the composition language is not affected when extending the underlying system to support other kinds of services, apparently quite different from Web services. Currently JOpera supports fine-grained Java snippets, “legacy” UNIX (or Windows) shell commands, XPATH/XSL transformations, calls to local Java methods, execution of remote scripts with SSH, or even SQL queries directly sent to a JDBC compliant database. Thanks to this flexible approach, it becomes possible to unify composition and mediation aspects within the same language. For example, in a typical scenario, Web services published by independent organizations are to be composed in a bottom-up fashion. In general, a mismatch between
منابع مشابه
JOpera: Autonomic Service Orchestration
The increasing interest in new software engineering technologies for application integration such as Service Oriented Computing and Service Orchestration has resulted in a proliferation of workflow management systems as the underlying representation and execution platform for service composition [7]. Workflow management system are also being applied to new domains (e.g., virtual scientific labo...
متن کاملComposing RESTful Services with JOpera
The REST architectural style is emerging as an alternative technology platform for the realization of service-oriented architectures. In this paper, we apply the notion of composition to RESTful services and derive a set of language features that are required by composition languages for RESTful services: dynamic late binding, dynamic typing, content-type negotiation, state inspection, and comp...
متن کاملFlexible Binding for Reusable Composition of Web Services
In addition to publishing composite services as reusable services, compositions can also be reused by applying them to orchestrate different component services. To do so, it is important to describe compositions using flexible bindings, which define only the minimal constraints on the syntax and semantics of the services to be composed. This way, the choice of which service to invoke can be del...
متن کاملA model for specification, composition and verification of access control policies and its application to web services
Despite significant advances in the access control domain, requirements of new computational environments like web services still raise new challenges. Lack of appropriate method for specification of access control policies (ACPs), composition, verification and analysis of them have all made the access control in the composition of web services a complicated problem. In this paper, a new indepe...
متن کاملAutomatic QoS-aware Web Services Composition based on Set-Cover Problem
By definition, web-services composition works on developing merely optimum coordination among a number of available web-services to provide a new composed web-service intended to satisfy some users requirements for which a single web service is not (good) enough. In this article, the formulation of the automatic web-services composition is proposed as several set-cover problems and an approxima...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2005